﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using TaxiCaosSOAPService.Dominio;
using TaxiCaosSOAPService.Persistencia;

namespace TaxiCaosSOAPService
{
    public class Facturas : IFacturas
    {
        private FacturaDAO facturaDAO = null;
        private FacturaDAO FacturaDAO
        {
            get
            {
                if (facturaDAO == null)
                    facturaDAO = new FacturaDAO();
                return facturaDAO;
            }
        }

        //public Factura CrearFactura(string nroSerie, int idReserva, int idPago, string estado, double montoBruto, double descuento, double montoNeto)
        public Factura CrearFactura(Factura factura)
        {
            //Se obtiene el siguiente nro de serie
            factura.NroSerie = FacturaDAO.ObtenerSiguienteNroSerie();
            return FacturaDAO.Crear(factura);
        }

        public string ObtenerImporte(string nroReserva)
        {
            try
            {
                return FacturaDAO.ObtenerImportexReserva(nroReserva);
            }
            catch (Exception ex)
            {
                return "";
            }
        }

        public bool ActualizarFacturaConPago(string nroReserva, int idPago)
        {
            try
            {
                return FacturaDAO.ActualizarFacturaConPago(nroReserva, idPago);

            }
            catch (Exception ex)
            {
                return false;
            }
        }
    }
}
